【pandas】DataFrameでNaNの行列を削除する方法(dropnaの使い方まとめ) | 您所在的位置:网站首页 › steven robertson › 【pandas】DataFrameでNaNの行列を削除する方法(dropnaの使い方まとめ) |
今回はDataFrameの削除に使う関数の解説です。 コードと画像をたくさん使っています。参考になれば幸いです。 目次 1 行・列の削除に使える関数2 dropna関数の引数3 axisとhowの役割3.1 行方向に削除3.2 列方向に削除3.3 how=’all’のとき4 inplaceの役割4.1 デフォルト(False)のとき4.2 Trueのとき5 threshの役割6 subsetの役割7 まとめ 行・列の削除に使える関数 関数処理df.pop(列名)1列を削除するdel df[列名] 複数列を削除できる。df.loc[行名]は使えないdf.drop()複数行・列を削除できる詳しくはコチラの記事へdf.dropna()NaNのセルがある行・列を削除この記事で解説します。df.drop_duplicates()重複列の削除詳しくはコチラの記事へpop、del、dropの3つの基本的な使い方は以下の記事でまとめています。 関連記事 【Python】pandasのデータフレームで行・列を削除する方法こんにちは、今回はpandasのDataFrameで行や列を削除する方法を解説していきます。 それぞれの役割やメリットを確認しながら基本的なポイントを押さえていきましょう。 [itemlink post_id="4429"] […] ![]() この記事ではdropna関数に関して解説していきます。 dropna関数の引数pandas公式ドキュメントのdropnaページはコチラ この関数は空(NaN)になっているセルがある行や列を削除します。行方向にみるのか列方向に見るのかは選択できます。 引数デフォルト値処理axis0(行方向)1で列方向how'any''any'は少なくとも一つNaNがある行や列を削除する'all'はすべてNaNの行や列を削除するthreshなし整数を渡す例)2のときは欠損していないセルが2つ以上の行・列を残すsubsetなし列名のリストを渡すと、その列からNAをさがして削除するinplaceFalseTrueでもとのDataFrameを変更するそれぞれの引数の解説では以下のデータフレームを使います。 Python 1234567891011 import pandas as pdimport numpy as np df = pd.DataFrame( {'name': ['Tom', 'Bob', 'Ken', 'Elis', 'Nancy'], 'class': ['A', 'B', np.nan, pd.NaT, pd.NaT], 'height': [170, np.nan, np.nan, np.nan, np.nan], 'weight': [75, 81, 72, np.nan, np.nan], 'address': ['USA', None, None, None, None]}) df![]() NaNには、pd.NaT、None、np.nanの3種類があります。(ほかにもあるかもしれませんが今回はこれです。) pdはpandas、npはnumpyの意味です。 dropna関数は3つとものNaNに対して正しく処理してくれます。 axisとhowの役割基本的にNaNが1つもない行や列しか残りません。 一つでもあったら消されます。 行方向に削除 Python 12345 #デフォルトで行方向df.dropna() #以下でも同じdf.dropna(axis=0)![]() ![]() 全て空(NaN)の行や列を削除します。 Python 123456789 #行方向に見るdf.dropna(how='all') #以下も行方向df.dropna(axis=0, how='all') #列方向に見るdf.dropna(axis=1, how='all')今回の例で使っているDataFrameはすべて空の行や列がないので削除されません。 inplaceの役割もしdropna関数を使ったのに削除されていない場合はこの引数を見てみましょう。 デフォルト(False)のときこのとき元のDataFrameは変更されません。 つまり、削除されていないもとのDataFrameが表示されます。 Python 12345 #NaNの行を削除df.dropna() #表示df![]() このときは元のDataFrameが変更されています。 Python 12345 #NaNの行を削除df.dropna(inplace=True) #表示df![]() 元のDataFremeを変更したくないけど、削除したものを残したい場合は別の変数に代入しておきます。 以下のdrop関数の記事のinplaceの部分にコードが書いています。 関連記事 【pandas】行列の削除dropまとめ「複数条件・inplace・消えない理由」こんにちは、今回はdrop関数に関して詳しくまとめていきたいと思います。 DataFrameの整形で非常に役に立つ関数なのでぜひ使い来ないしたいですね。 特に、dropを使ったのに削除できなかったときの対処法も書いています。 […] ![]() ![]() ![]() ![]() ![]() 今回はNaNを消す関数の使い方をまとめました。 NaNの種類が3つもあることを初めて知りました! 削除に困っている方の参考になれば幸いです。 |
CopyRight 2018-2019 实验室设备网 版权所有 |